#pragma once

#include "DLSomeRestriction.hpp"
#include "DLDataRange.hpp"

namespace terms {
	namespace dl {
		template <typename L=std::string, typename I=std::string, typename C=std::string, typename R=std::string>
		class DLDataSomeRestriction
			: public DLSomeRestriction<DLDataRange<L, I, C, R>, L, I, C, R>
		{
		public:
			typedef DLDataSomeRestriction<L, I, C, R> ThisClass;

		public:
			using DLSomeRestriction<DLDataRange<L, I, C, R>, L, I, C, R>::DLSomeRestriction;

		public:
			virtual DLTermOrder
			get_type_order() const
			{
				return DLTermOrder::DATA_SOME_RESTRICTION;
			}
		};
	}	
}
